charger24 2.2.1
Loading...
Searching...
No Matches
charger24.h
Go to the documentation of this file.
1/****************************************************************************
2** Copyright (C) 2026 MikroElektronika d.o.o.
3** Contact: https://www.mikroe.com/contact
4**
5** Permission is hereby granted, free of charge, to any person obtaining a copy
6** of this software and associated documentation files (the "Software"), to deal
7** in the Software without restriction, including without limitation the rights
8** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9** copies of the Software, and to permit persons to whom the Software is
10** furnished to do so, subject to the following conditions:
11** The above copyright notice and this permission notice shall be
12** included in all copies or substantial portions of the Software.
13**
14** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20** USE OR OTHER DEALINGS IN THE SOFTWARE.
21****************************************************************************/
22
27
28#ifndef CHARGER24_H
29#define CHARGER24_H
30
31#ifdef __cplusplus
32extern "C"{
33#endif
34
39#ifdef PREINIT_SUPPORTED
40#include "preinit.h"
41#endif
42
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
45 #include "delays.h"
46 #endif
47#endif
48
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
51
57
62
67
72#define CHARGER24_STATE_NO_INPUT 0
73#define CHARGER24_STATE_CHARGING 1
74#define CHARGER24_STATE_CHARGE_DONE 2
75 // charger24_set
77
82
87
92#define CHARGER24_MAP_MIKROBUS( cfg, mikrobus ) \
93 cfg.iok = MIKROBUS( mikrobus, MIKROBUS_AN ); \
94 cfg.dsb = MIKROBUS( mikrobus, MIKROBUS_RST ); \
95 cfg.dis = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
96 cfg.stat = MIKROBUS( mikrobus, MIKROBUS_INT )
97 // charger24_map // charger24
100
105typedef struct
106{
107 digital_out_t dsb;
108 digital_out_t dis;
109
110 digital_in_t iok;
111 digital_in_t stat;
112
114
119typedef struct
120{
121 pin_name_t iok;
122 pin_name_t dsb;
123 pin_name_t dis;
124 pin_name_t stat;
125
127
138
144
155
170
179
188
197
206
216
226
238
239#ifdef __cplusplus
240}
241#endif
242#endif // CHARGER24_H
243 // charger24
245
246// ------------------------------------------------------------------------ END
charger24_return_value_t
Charger 24 Click return value data.
Definition charger24.h:133
@ CHARGER24_OK
Definition charger24.h:134
@ CHARGER24_ERROR
Definition charger24.h:135
uint8_t charger24_get_stat_pin(charger24_t *ctx)
Charger 24 get STAT pin function.
void charger24_disable_boost(charger24_t *ctx)
Charger 24 disable boost function.
err_t charger24_init(charger24_t *ctx, charger24_cfg_t *cfg)
Charger 24 initialization function.
void charger24_disable_charging(charger24_t *ctx)
Charger 24 disable charging function.
void charger24_cfg_setup(charger24_cfg_t *cfg)
Charger 24 configuration object setup function.
void charger24_enable_boost(charger24_t *ctx)
Charger 24 enable boost function.
void charger24_enable_charging(charger24_t *ctx)
Charger 24 enable charging function.
uint8_t charger24_get_status(charger24_t *ctx)
Charger 24 get status function.
uint8_t charger24_get_iok_pin(charger24_t *ctx)
Charger 24 get IOK pin function.
Charger 24 Click configuration object.
Definition charger24.h:120
pin_name_t iok
Definition charger24.h:121
pin_name_t dsb
Definition charger24.h:122
pin_name_t dis
Definition charger24.h:123
pin_name_t stat
Definition charger24.h:124
Charger 24 Click context object.
Definition charger24.h:106
digital_out_t dis
Definition charger24.h:108
digital_out_t dsb
Definition charger24.h:107
digital_in_t stat
Definition charger24.h:111
digital_in_t iok
Definition charger24.h:110